<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>

		<script>
			/*
			-算术运算：
		     **幂运算
			 % 模运算  求余
			 
			 注意:
				- 算术运算时，除了字符串的加法，
					其他运算的操作数是非数值时，都会转换为数值然后再运算
			 */
			let a = 10 / 0 //返回Infinity
			a = 10 ** 4 //10的4次方
			a = 9 ** .5 //相当于9的开方
			//JS是一门弱类型语言，当进行运算时会通过自动的类型转换来完成运算
			a = 10 - '5' //10-5
			a = 10 + true //10 + 1
			a = 5 + null //5 + 0
			a = 6 - undefined //6- NaN
			/*当任意一个值和字符串做加法运算时，它会先将其他值转换为字符串
				然后再做拼串的操作。
			可以利用这一特点来完成类型转换
				一个空串的形式来将其转换为字符串可以通过为任意类型 
				+其原理和String()函数相同，但使用起来更加简洁
		in 运算符
			- 用来检查对象中是否含有某个属性
			- 语法 属性名 in obj
			- 如果有返回true,否则返回false；
			*/
			a = 'hello' + 'world';
			a = '1' + 2 //"1"+"2"

			a = true
			a = a + ''
			console.log(typeof a， a) //输出string true
		</script>
	</head>
	<body>
	</body>
</html>